package com.neuedu.wemall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.neuedu.wemall.common.vo.ResponseData;
import com.neuedu.wemall.dao.entity.Role;
import com.neuedu.wemall.service.vo.MenuPermissionVO;

import java.util.List;


/**
* Author lu
* Date   2025-09-08 15:17:25
*/
public interface IRoleService extends IService<Role> {

    /**
     * 新增角色
     * @param role 角色对象
     * @return
     */
    ResponseData insertRole(Role role);

    /**
     * 更新角色
     * @param role
     * @return
     */
    int updateRole(Role role);

    /**
     * 删除角色
     * @param roleId 角色id
     * @return
     */
    int deleteRole(int roleId);

    /**
     * 角色列表
     * @param keyword 角色名称关键词
     * @param role 角色对象
     * @return
     */
    List<Role> selectRoleList(String keyword,Role role);

    /**
     *
     * @param roleId
     * @return
     */
    Role selectById(int roleId);
    /**
     * 角色菜单列表
     * @param roleId 角色id
     * @return
     */
    List<Integer> selectRoleMenuList(int roleId);

    /**
     * 设置角色菜单权限
     * @param roleId 角色id
     * @param menuIds 菜单id列表
     * @return
     */
    int setRoleMenu(int roleId,List<Integer> menuIds);


    /**
     * 查询所有菜单权限信息
     *
     * @param roleId
     * @return
     */
    List<MenuPermissionVO> selectMenuPermission(int roleId);
}